Recently, various devices with the function of detecting and recognizing a predetermined object in an image have been proposed. Regarding those devices, there is a demand for development of a technique capable of detecting and recognizing a target (such as a human face or a mechanical part) in an input image at a higher speed with higher accuracy.
In general, a process for recognizing a face in an image includes a detection process of detecting the face in the taken image, and a recognition process of specifying a person in a detected face area.
Many techniques for detecting a target, e.g., a human face in an input image, have been proposed in the past. For example, NPL 1 proposes a technique for detecting a face as an object at a high speed. This technique employs a plurality of weak classifiers, which are connected in a cascaded way, to determine whether a predetermined area cut out from the input image represents the face.
Many recognition techniques are also proposed. For example, PTL 1 discloses a technique of generating, from a large number of face images, eigenvectors representing faces in advance, projecting a registered face image and an input face image onto the eigenvectors, and measuring a distance between respective obtained projection vectors, thereby specifying personal ID. The disclosed technique is called “Eigenface”. With respect to the Eigenface, it is said that accuracy is reduced due to variations caused by a face orientation, illumination, etc. NPL 2 discloses a technique, called “Local Feature Analysis (LFA)”, of generating an eigenvector for each local area of a face, and performing face recognition by using respective projection vectors of a registered image and an input image for each local area. Further, PTL 3 discloses a recognition technique using a brightness value distribution that is obtained by adding and projecting brightness values in a predetermined direction for each of local areas. In addition, PTL 4 discloses a technique of separately obtaining a face orientation, occlusion, etc. and assigning a weight to each local area based on the obtained values.
NPL 3 performs face recognition by using a classifier that receives, as an input, a differential image between a registered face image and an input face image, and that classifies a face into an intra-person class when both the images represent the same person, and into an extra-person class when both the images represent different persons. Further, PTL 2 discloses a classification technique using support vector machines (SVM) on the basis of the technique disclosed in NPL 3. In the PTL 2, a similarity vector is generated from a feature value, which is obtained by a Gabor filter, at each of plural points in the registered face image and the input face image, and classification into the intra-person class and the extra-person class is made by using the SVM.
In the face recognition on the basis of the local area, feature points of face organs, such as the outer corner of the eye, the inner corner of the eye, and the end points of the mouth, are used to set the local areas. Many techniques for detecting those feature points are also proposed. For example, NPL 4 discloses a technique of utilizing a circle separation filter and a partial space.
Further, NPL 5 discloses various techniques for determining a face orientation attribute in an input face image.
NPL 6 discloses a technique for realizing an improvement of an identification rate by deforming the local area in accordance with the face orientation attribute such that similarity to the same person is increased.